package com.ryujung.array.leetCode_1313;

/**
 * 输入：nums = [1,2,3,4]
 * 输出：[2,4,4,4]
 * 解释：第一对 [1,2] 代表着 2 的出现频次为 1，所以生成数组 [2]。
 * 第二对 [3,4] 代表着 4 的出现频次为 3，所以生成数组 [4,4,4]。
 * 最后将它们串联到一起 [2] + [4,4,4] = [2,4,4,4]。
 *
 * @author RyuJung
 * @date 2020-2-9 19:58
 */
class Solution {
    public int[] decompressRLElist(int[] nums) {
        int count = 0;
        //确定创建数组的长度
        for (int i = 0; i < nums.length; i += 2) {
            count += nums[i];
        }
        int[] answer = new int[count];
        int temp, index = 0;
        
        //向数组中赋值
        for (int i = 0; i < nums.length; i += 2) {
            temp = nums[i];
            while (temp-- > 0)
                answer[index++] = nums[i + 1];
        }
        return answer;
    }

}